---
title: Install expo-dev-client in an existing React Native project
sidebar_title: Install expo-dev-client
description: Learn how to install and configure expo-dev-client in your existing React Native project.
---

import { Collapsible } from '~/ui/components/Collapsible';
import { Terminal } from '~/ui/components/Snippet';
import { Step } from '~/ui/components/Step';

The following guide explains how to install and configure `expo-dev-client` in an existing React Native project.

<Collapsible summary="Do you need to create a new project?">

If you're starting with a new project, create it using the `with-dev-client` template:

<Terminal cmd={['$ npx create-expo-app -e with-dev-client']} />

</Collapsible>

<Collapsible summary="Do you use Continuous Native Generation (CNG) in your project?">

To use `expo-dev-client` in a project that uses [CNG](/workflow/continuous-native-generation/), see [Create a development build](/develop/development-builds/create-a-build/).

</Collapsible>

## Prerequisites

**The `expo` package must be installed and configured.** If you created your project with `npx @react-native-community/cli@latest init` and do not have any other Expo libraries installed, you will need to [install Expo modules](/bare/installing-expo-modules) before proceeding.

<Step label="1">

## Install expo-dev-client

Add the `expo-dev-client` library to your **package.json**:

<Terminal cmd={['$ npx expo install expo-dev-client']} />

If your project has an **ios** directory on disk, run the following command to fully install the native code for `expo-dev-client`:

<Terminal cmd={['$ npx pod-install']} />

If your project doesn't have an **ios** directory, you can skip this step.

</Step>

<Step label="2">

## Configure deep links

Expo CLI uses a deep link to launch your project, and it's also useful if you use plan to [use `expo-dev-client` for launching preview updates](/eas-update/getting-started/) if you have added a custom deep link scheme to your project.

If you haven't configured a `scheme` for your app yet to support deep linking, then use `uri-scheme` library to do this for you.

<Terminal
  cmd={[
    "# List your project's schemes",
    '$ npx uri-scheme list',
    '',
    '# Add a scheme to your project',
    '$ npx uri-scheme add your-scheme',
  ]}
/>

For more information, see the [`uri-scheme` library](https://www.npmjs.com/package/uri-scheme).

</Step>

<Step label="3">

## Build and install the app

Create a debug build of your app using the tools of your choice. For example, you can do this [locally with Expo CLI](/guides/local-app-development/) or [in the cloud with EAS Build](/develop/development-builds/create-a-build/).

</Step>
